WA

[Encerrado] [AJUDA] Senzu

Por walissonja, 03 de dez. de 2017 em Tópicos Sem Resposta

8
1.3k
walissonjaW
03 de dezembro de 2017 às 04:03

Eae galera do XTibia

Eu gostaria de pedir uma ajuda para editar um script de SENZU que eu tenho

Gostaria de tirar esse Nome "Estou Usando Senzu Vip!

 

E por para mostrar a quantia que Heala 180000+ )

aparecer acor da quantia em  YELLOW(AMARELO) tem como ?

 

Exemplo : o jogador clica no item , e mostra a quantidade que o senzu heala só que com uma cor diferente que será YELLOW(AMARELA)

 

Script :

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
ITEM = 2157
local storage = 50000
local wait = 1.5
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
if fromPosition.x ~= CONTAINER_POSITION and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Estou Usando Senzu Vip!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
elseif item.itemid == ITEM and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Estou Usando Senzu Vip!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
return TRUE
end

Rep ++

2 semanas depois...
darkeyrenD
13 de dezembro de 2017 às 10:42

Salve meu brother, o papo da mensagem é fácil de arrumar, mas a parte de trocar a cor da mensagem de Heal é apenas feita pelas Sources(código-fonte) do Servidor!

 

local ITEM = 2157
local storage = 50000

-- Configurable
local healMsg = "Ahhhhh me sinto bem melhor!"
local REG_HEALTH = 180000
local REG_MANA = 180000
local wait = 1.5
local effect = 76

function onUse(cid, item, fromPosition, itemEx, toPosition)
	it not item.itemid == ITEM then
		return FALSE
	end

	local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
	if exhaustion.get(cid, storage) == FALSE then
		doPlayerAddMana(cid, REG_MANA)
		doCreatureAddHealth(cid, REG_HEALTH)
		doCreatureSay(cid, healMsg, TALKTYPE_ORANGE_1)
		doSendMagicEffect(pos1, effect)
		exhaustion.set(cid, storage, wait)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end

	return TRUE
end

 

Eu dei uma re-organizada no seu script, passei todas variáveis para fora do script, acho que só de ler você entenderá oque alterar! 

A parte abaixo de "Configurable" pode ser alterada ao seu gosto!

Boa sorte!

Editado Dezembro 13 por darkeyren

yokoderaxdY
13 de dezembro de 2017 às 11:00

doCreatureSay(cid, 'Estou Usando Senzu Vip!', TALKTYPE_ORANGE_1)

 

doCreatureSay(cid, '+ 180000 HP-MP', TALKTYPE_YELLOW_1)

2 semanas depois...
narutomaniacosN
20 de dezembro de 2017 às 14:27
Em 03/12/2017 at 04:03, walissonja disse:

Eae galera do XTibia

Eu gostaria de pedir uma ajuda para editar um script de SENZU que eu tenho

Gostaria de tirar esse Nome "Estou Usando Senzu Vip!

 

E por para mostrar a quantia que Heala 180000+ )

aparecer acor da quantia em  YELLOW(AMARELO) tem como ?

 

Exemplo : o jogador clica no item , e mostra a quantidade que o senzu heala só que com uma cor diferente que será YELLOW(AMARELA)

 

Script :

  Ocultar conteúdo

function onUse(cid, item, fromPosition, itemEx, toPosition)
ITEM = 2157
local storage = 50000
local wait = 1.5
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
if fromPosition.x ~= CONTAINER_POSITION and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Estou Usando Senzu Vip!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
elseif item.itemid == ITEM and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Estou Usando Senzu Vip!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
return TRUE
end

Rep ++

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
ITEM = 2157
local storage = 50000
local wait = 1.5
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
if fromPosition.x ~= CONTAINER_POSITION and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doSendAnimatedText(getCreaturePosition(cid), REG_HEALTH, TEXTCOLOR_DARKYELLOW)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
elseif item.itemid == ITEM and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 180000
REG_MANA = 180000
doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doSendAnimatedText(getCreaturePosition(cid), REG_HEALTH, TEXTCOLOR_DARKYELLOW)
doSendMagicEffect(pos1, 76)
exhaustion.set(cid, storage, wait)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
return TRUE
end

Espero ter ajudado, caso funcione marque melhor resposta pra fechar o topico.

walissonjaW
24 de dezembro de 2017 às 08:31

@darkeyren

Tem um pequeno probleminha que eu esqueci de falar, ainda não conseguir arrumar

Não tem a opção de escolher se quer ou não que o item acabe

Exemplo : acabe (TRUE) ou (1)  ao usar o item iria ficar acabando de 1 em 1 / não acabe (FALSE) ou (0) ao usar o item não vai acabar nada ou seja infinito

Do jeito que tá , tá infinito só que tirei o infinito daos items

e tive que optar por um script feio e bugado

Porque esse que você me ajudou faltou isso ;(

Se tiver condições de por essa opção agradeceria

@narutomaniacos

Darei uma olhada e obrigado.

 

Editado Dezembro 24 por walissonja

.

narutomaniacosN
25 de dezembro de 2017 às 14:59
Em 24/12/2017 at 08:31, walissonja disse:

@darkeyren

Tem um pequeno probleminha que eu esqueci de falar, ainda não conseguir arrumar

Não tem a opção de escolher se quer ou não que o item acabe

Exemplo : acabe (TRUE) ou (1)  ao usar o item iria ficar acabando de 1 em 1 / não acabe (FALSE) ou (0) ao usar o item não vai acabar nada ou seja infinito

Do jeito que tá , tá infinito só que tirei o infinito daos items

e tive que optar por um script feio e bugado

Porque esse que você me ajudou faltou isso ;(

Se tiver condições de por essa opção agradeceria

@narutomaniacos

Darei uma olhada e obrigado.

 

local ITEM = 2157
local storage = 50000

-- Configurable
local healMsg = "Ahhhhh me sinto bem melhor!"
local REG_HEALTH = 180000
local REG_MANA = 180000
local wait = 1.5
local effect = 76
local remove = true


function onUse(cid, item, fromPosition, itemEx, toPosition)
    it not item.itemid == ITEM then
        return FALSE
    end

    local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
    if exhaustion.get(cid, storage) == FALSE then
        doPlayerAddMana(cid, REG_MANA)
        doCreatureAddHealth(cid, REG_HEALTH)
        doSendAnimatedText(getCreaturePosition(cid), REG_HEALTH, TEXTCOLOR_DARKYELLOW)
        doSendMagicEffect(pos1, effect)
           doRemoveItem(item.uid,1)
        exhaustion.set(cid, storage, wait)
    else
        doPlayerSendCancel(cid, "You are exhausted.")
    end

    return TRUE
end

Caso queira alguma mensagem além do HP regenerado em amarelo, abaixo do "doCreatureAddHealth(cid, REG_HEALTH)" adicione:

doCreatureSay(cid, healMsg, TALKTYPE_ORANGE_1)

 

darkeyrenD
26 de dezembro de 2017 às 16:38
Em 24/12/2017 at 08:31, walissonja disse:

@darkeyren

Tem um pequeno probleminha que eu esqueci de falar, ainda não conseguir arrumar

Não tem a opção de escolher se quer ou não que o item acabe

Exemplo : acabe (TRUE) ou (1)  ao usar o item iria ficar acabando de 1 em 1 / não acabe (FALSE) ou (0) ao usar o item não vai acabar nada ou seja infinito

Do jeito que tá , tá infinito só que tirei o infinito daos items

e tive que optar por um script feio e bugado

Porque esse que você me ajudou faltou isso ;(

Se tiver condições de por essa opção agradeceria

@narutomaniacos

Darei uma olhada e obrigado.

 

A isso ai é fácil de arrumar! O script ficaria assim!

Aproveitei e dei uma refatorada nele novamente para ficar mais fácil de entender!

Não cheguei a testar, então se der algum erro, me avise!

 

local ID = 2157
local STORAGE = 50000

-- Configurable
local MSG = "Ahhhhh me sinto bem melhor!"
local HEALTH = 180000
local MANA = 180000
local COOLDOWN = 1.5
local EFFECT = 76
local REMOVE = false
local MSG_COLOR = TALKTYPE_ORANGE_1
-- /Configurable

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if not item.itemid == ID then
		return FALSE
	elseif exhaustion.get(cid, STORAGE)
  		doPlayerSendCancel(cid, "You are exhausted.")
    	return FALSE
    end

	doCreatureAddHealth(cid, HEALTH)
	doPlayerAddMana(cid, MANA)

	doCreatureSay(cid, MSG, MSG_COLOR or TALKTYPE_ORANGE_1)

	local effectPos = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
	doSendMagicEffect(effectPos, EFFECT)

  	if REMOVE then 
  		doRemoveItem(item.uid, 1) 
  	end

	exhaustion.set(cid, STORAGE, COOLDOWN)
	
	return TRUE
end

 

 

4 meses depois...
StigalS
19 de abril de 2018 às 17:12
A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta